热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

V2Newpreset`v2mstaptdatlczsty`withAirtablereplacingGraphCMS(basedon`v2mstaptdgcmslczsty`)

Demoshttps://v2-mst-aptd-at-lcz-sty.vercel.app/usesthelatestbr


Demos
  • https://v2-mst-aptd-at-lcz-sty.vercel.app/ uses the latest branch commit

  • https://nrn-v2-mst-aptd-at-lcz-sty-c1.vercel.app/ is the production environment for Customer 1

  • https://nrn-v2-mst-aptd-at-lcz-sty-c1-preview.vercel.app/ is the preview/staging environment for Customer 1 (with Preview mode enabled)

  • https://nrn-v2-mst-aptd-at-lcz-sty-c2.vercel.app/ is the production environment for Customer 2

  • https://nrn-v2-mst-aptd-at-lcz-sty-c2-preview.vercel.app/ is the preview/staging environment for Customer 2 (with Preview mode enabled)

Status

This PR/branch is stable and has been added as the new official/default NRN preset.

Notes

This PR is not meant to be merged, but to provide a diff against the base branch (which is a preset using GraphCMS)

Objectives

The goal is to replace GraphQL API by Airtable API, for several reasons:
- Showcase how to consume a REST-ish API
- Easier to setup than GraphCMS
- Airtable provides a free plan, and has much higher limitations than GraphCMS for its free plan
- Requested https://github.com/UnlyEd/next-right-now/issues/16
- Make this the new default preset (simpler, cheaper)

Base preset: v2-mst-aptd-gcms-lcz-sty
New preset name: v2-mst-aptd-at-lcz-sty

Roadmap
  • ✅ Setup AT base and tables

  • ✅ Fetch data from AT API

  • ✅ Update TS data types (minor differences between GraphCMS schema and Airtable schema)

  • ✅ Consolidate all AT API calls into one (AT uses a REST API, which forces us to send 3 requests to fetch all the data we need)

  • ✅ Sanitise AT records

  • ✅ Handle content i18n (for each field, select the value for the most preferred locale if set, otherwise fallback to secondary locale)

  • ✅ Completely remove GraphQL/GraphCMS/Apollo related code (useless with this preset, should lower the bundle size quite a bit)

  • ✅ Update UIs to use data from Airtable

  • ✅ Optimise requests to Airtable API (use local cache, like https://github.com/alexreardon/memoize-one#readme)
    • WIP PR at https://github.com/UnlyEd/next-right-now/pull/92

    • Open issue at https://github.com/vercel/next.js/discussions/13765


  • ✅ Display images from Airtable (
    1
    AirtableAsset

    component)


  • Handle image optimisations (?)

  • ✅ Integrate Stacker as an admin backend (deal in progress) and configure it so that visitors can use it to update the data and see live changes

该提问来源于开源项目:UnlyEd/next-right-now

[GitHub Actions]
Deployment FAILED
Commit 5f8b8f798a833a2e72218e2339ac2ccdb46b20a3 failed to deploy to (click to see logs)


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文介绍了如何在 Vue 3 组合 API 中正确设置 setup() 函数的 TypeScript 类型,以避免隐式 any 类型的问题。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在HTML布局中,即使将 `top: 0%` 和 `left: 0%` 设置为元素的定位属性,浏览器中仍然会出现空白填充。这个问题通常与默认的浏览器样式、盒模型或父元素的定位方式有关。为了消除这些空白,可以考虑重置浏览器的默认样式,确保父元素的定位方式正确,并检查是否有其他CSS规则影响了元素的位置。 ... [详细]
  • Silverlight 实战指南:深入解析用户提交数据的验证与捕获机制
    本文深入探讨了Silverlight中用户提交数据的验证与捕获机制,详细分析了四种主要的验证方法:基本异常处理、DataAnnotation注解、IDataErrorInfo客户端同步验证以及自定义验证策略。通过实例解析,帮助开发者更好地理解和应用这些机制,提升应用程序的数据处理能力和用户体验。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 本文主要探讨了Java中处理ActionEvent事件的接口,以及一些常见的编程问题和解决方案,包括方法重载、成员变量访问、镜片质量检测等。 ... [详细]
  • 本地存储组件实现对IE低版本浏览器的兼容性支持 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在JUnit测试框架中,确保@Test注解的方法按特定顺序执行是常见的需求。本文总结了三种实现这一目标的策略。首先,介绍了通过方法名称排序来控制执行顺序的基本方法。其次,推荐了一种利用依赖管理插件的方式,这种方法更为灵活且易于维护。最后,探讨了使用第三方库如TestNG或Jupiter扩展来实现更复杂的顺序控制。每种方法都有其适用场景和优缺点,开发者可以根据具体需求选择最合适的方案。 ... [详细]
author-avatar
梁梁庆新
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有